package diplom.shop.services;


import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hibernate.Session;
import org.hibernate.Transaction;

import diplom.shop.dao.HibernateUtil;
import diplom.shop.domain.Category;
import diplom.shop.web.DeviceWeb;

/**
 * Servlet implementation class addServlet
 */
public class addServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
	 private static final String CONTENT_TYPE = "text/html";    
    /**
     * @see HttpServlet#HttpServlet()
     */
	 public void init() {
	    }
    public addServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(request,response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType(CONTENT_TYPE);
		request.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();
			
        if(DeviceWeb.isCategoryIdSet(request)){//не виконуєтсья перевірка ніколи бо я не передаю силкою catid , треба зберігати в сессіон або catid або category і напсиати новий метод перевірки...
        
        Category category = DeviceWeb.getCategoryById(request);
        
        List<String> mouseAtribute = DomainServices.getDeviceAttribute();        
		mouseAtribute.addAll(DomainServices.getSpecification(category.getCategoryId()));//тут зробити функцію в яку передаємо айді категорії і в залежності від цього буде повертатись атрибут 
        
		List<String> mouseParam = new ArrayList<String>();
		
		for (String s : mouseAtribute) {		
			if (request.getParameter(s) != null	&& request.getParameter(s) != "") 
			{
				out.println( "<br>"+request.getParameter(s) );//перший параметр - айді категорії....визначитись ... вшити довбані силки із айді категорією.....розібратись із айді категорією ь
				mouseParam.add(request.getParameter(s));
			}
		}
		if (mouseParam != null && mouseParam.size() != 0) {
		
			DeviceWeb.addDevice(mouseParam,category.getCategoryId());
		}
        }
	}

}
